package com.imisty.dao;

import com.imisty.bean.Person;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;
import java.util.List;
import java.util.Map;

public interface PersonMapper {
        //传入单参数,直接匹配传入
        public void deletePerson(Integer id);

        //传入多个普通参数，xml使用默认的方式获取
        //public Person getPersonByNameAndGender(String username,String gender);

        //传入javabean
        public Person getPersonByNameAndGender(Person person);

        //传入map类型的参数
        public Person getPersonByNameAndGender(Map<String,Object> map);

        //注解方式为传入的参数命名
        public Person getPersonByNameAndGender(@Param("username") String username,@Param("gender") String gender);

        //传入集合/list类型集合类型参数，xml使用collection或者使用list方式获取值
        public Person getPersonByCollection(Collection list);

        //传递数组类型参数
        public Person getPersonByCollection(int[] ids);

        //批量查询 foreach 标签动态生成sql
        public List<Person> getPersonByIds(int[] ids);

        //批量插入()
        public void addPersons(@Param("persons") List<Person> persons);

        //ExecutorType
        public void addPerson(Person person);

        public List<Person> getAllPersons();




}
